分享几道简单的python打印输出的问题,本质上都是可以将其分解成一个大循环之中有几个小循环。
1.杨辉三角
主要特点:
-
每个数等于它上方两数之和。
-
每行数字左右对称,由1开始逐渐变大。
-
每行端点与结尾的数为1
def triangles(N):
# 首行
line = [1]
for _ in range(N):
# 生成器
yield line
for i in range(1, len(line)):
# 每个数等于它上方两数之和。
line[i] = pre[i] + pre[i - 1]
# 结尾端点为1,需要额外添加
line.append(1)
# 将本行当做生成下一行的依据
pre = line[:]
N = int(input("请输入一个整数:"))
for i in triangles(N):
print(i)
2.打印蛇形矩阵
input:4
打印如下:
1 2 3 4
12